type {{ model_name }} = Common.CommonRecord<{
    {% for column in columns %}
    {{ column.name }}: {{ column.type }};
    {% endfor %}
}>;

type {{ model_name }}SearchParams = CommonType.RecordNullable<Pick<{{ model_name }}>> & CommonSearchParams;
type {{ model_name }}List = Common.PaginatingQueryRecord<{{ model_name }}>;

type {{ model_name }}Update = CommonType.RecordNullable<Pick<{{ model_name }}, {% for column in columns if column.required %}'{{ column.name }}'{% if not loop.last %} | {% endif %}{% endfor %}>> &
  Partial<Pick<{{ model_name }}, {% for column in columns if not column.required %}'{{ column.name }}'{% if not loop.last %} | {% endif %}{% endfor %}>>;